﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace W.M.Materiel.Infrastruecure.DTO
{
    /// <summary>
    /// 物料单位DTO
    /// </summary>
    public class Bill_of_materialsDTO
    {
        /// <summary>
        /// 物料编码
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, ColumnDescription = "物料编码", Length = 200)]
        public string material_code { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        [SugarColumn(ColumnDescription = "物料名称", Length = 200)]
        public string? material_name { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        [SugarColumn(ColumnDescription = "规格型号", Length = 200)]
        public string? specification_model { get; set; }

        /// <summary>
        /// 品牌
        /// </summary>
        [SugarColumn(ColumnDescription = "品牌", Length = 200)]
        public string? brand { get; set; }

        /// <summary>
        /// 单位ID
        /// </summary>
        [SugarColumn(ColumnDescription = "单位ID")]
        public string? unit_id { get; set; }

        /// <summary>
        /// 物料类别
        /// </summary>
        [SugarColumn(ColumnDescription = "物料类别")]
        public string? serial_number { get; set; }

        /// <summary>
        /// 物料属性
        /// </summary>
        [SugarColumn(ColumnDescription = "物料属性")]
        public string? material_attribute { get; set; }

        /// <summary>
        /// 采购单价
        /// </summary>
        [SugarColumn(ColumnDescription = "采购单价")]
        public decimal purchase_price { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [SugarColumn(ColumnDescription = "状态")]
        public bool status { get; set; }

        /// <summary>
        /// 最小库存数
        /// </summary>
        [SugarColumn(ColumnDescription = "最小库存数")]
        public int minimum_inventory { get; set; }

        /// <summary>
        /// 最大库存数
        /// </summary>
        [SugarColumn(ColumnDescription = "最大库存数")]
        public int maximum_inventory { get; set; }

        /// <summary>
        /// 物料有效期
        /// </summary>
        [SugarColumn(ColumnDescription = "物料有效期")]
        public DateTime? material_life { get; set; }

        /// <summary>
        /// 报警天数
        /// </summary>
        [SugarColumn(ColumnDescription = "报警天数")]
        public int alarm_days { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [SugarColumn(ColumnDescription = "备注", Length = 200)]
        public string? remark { get; set; }

        /// <summary>
        /// 辅助单位
        /// </summary>
        [SugarColumn(ColumnDescription = "辅助单位")]
        public bool auxiliary_unit { get; set; }

        /// <summary>
        /// 图片
        /// </summary>
        [SugarColumn(ColumnDescription = "图片", Length = 500)]
        public string? picture { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [SugarColumn(ColumnDescription = "附件", Length = 200)]
        public string? attachments { get; set; }


        /// <summary>
        /// 单位编号
        /// </summary>
        public string? unit_number { get; set; }

        /// <summary>
        /// 配件数量
        /// </summary>
        [SugarColumn(ColumnDescription = "配件数量")]
        public int number_parts { get; set; }

        /// <summary>
        /// 损耗率
        /// </summary>
        [SugarColumn(ColumnDescription = "损耗率")]

        public decimal attrition_rate { get; set; }

        /// <summary>
        /// 单位名称
        /// </summary>
        public string? unit_name { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string? unit_operator { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public bool unit_status { get; set; }

        /// <summary>
        /// 操作日期
        /// </summary>
        public DateTime unit_operator_date { get; set; }
        

    }
}
